home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Think Class Libraries / TP TCL->CW TCL v1.1.2.3 / UPI ƒ / Updated UPIs ƒ / IntEnv.p < prev    next >
Text File  |  1996-02-07  |  3KB  |  136 lines

  1. {
  2. Created: Wednesday, June 27, 1990 at 6:42 PM
  3.     IntEnv.p
  4.     Pascal Interface to the Macintosh Libraries
  5.  
  6.         Copyright Apple Computer, Inc. 1989-1990, 1992
  7.         All rights reserved
  8. }
  9.  
  10.  
  11. {$IFC UNDEFINED UsingIncludes}
  12. {$SETC UsingIncludes := 0}
  13. {$ENDC}
  14.  
  15. {$IFC NOT UsingIncludes}
  16.     UNIT IntEnv;
  17.     INTERFACE
  18. {$ENDC}
  19.  
  20. {$IFC UNDEFINED UsingIntEnv}
  21. {$SETC UsingIntEnv := 1}
  22.  
  23. {$I+}
  24. {$SETC IntEnvIncludes := UsingIncludes}
  25. {$SETC UsingIncludes := 1}
  26. {$IFC UNDEFINED UsingPasLibIntf}
  27. {$I $$Shell(PInterfaces)PasLibIntf.p}
  28. {$ENDC}
  29. {$SETC UsingIncludes := IntEnvIncludes}
  30.  
  31.     CONST
  32.  
  33.       { CMD words for IEfaccess(), from <fcntl.h> }
  34.       { IEfaccess command words for general usage in any program: }
  35.       
  36.       F_OPEN = $6400; { (('d'<<8)|00), d => "directory" ops }
  37.       F_DELETE = $6401;
  38.       F_RENAME = $6402;
  39.  
  40.       { IEfaccess command words for use only in MPW Tools: }
  41.       
  42.       F_GTABINFO = $6500; { (('e'<<8)|00), e => "editor" ops }
  43.       F_STABINFO = $6501;
  44.       F_GFONTINFO = $6502;
  45.       F_SFONTINFO = $6503;
  46.       F_GPRINTREC = $6504;
  47.       F_SPRINTREC = $6505;
  48.       F_GSELINFO = $6506;
  49.       F_SSELINFO = $6507;
  50.       F_GWININFO = $6508;
  51.       F_SWININFO = $6509;
  52.       F_GSCROLLINFO = $650A;
  53.       F_SSCROLLINFO = $650B;
  54.       F_GMARKER = $650D;
  55.       F_SMARKER = $650C;
  56.       F_GSAVEONCLOSE = $650F;
  57.       F_SSAVEONCLOSE = $650E;
  58.  
  59.       { Open modes for IEopen(), from <fcntl.h> }
  60.  
  61.       O_RDONLY = $0000;
  62.       O_WRONLY = $0001;
  63.       O_RDWR = $0002;
  64.       O_APPEND = $0008;
  65.       O_RSRC = $0010;
  66.       O_ALIAS = $0020;
  67.       O_CREAT = $0100;
  68.       O_TRUNC = $0200;
  69.       O_EXCL = $0400;
  70.       O_NRESOLVE = $4000;
  71.  
  72.       { IOCtl parameters }
  73.  
  74.       FIOINTERACTIVE = $6602; { (('f'<<8)|02), f => "open file" ops }
  75.       FIOBUFSIZE = $6603;
  76.       FIOFNAME = $6604;
  77.       FIOREFNUM = $6605;
  78.       FIOSETEOF = $6606;
  79.  
  80.     TYPE
  81.       IEString = STRING;
  82.       IEStringPtr = ^IEString;
  83.       IEStringVec = ARRAY [0..8191] OF IEStringPtr;
  84.       IEStringVecPtr = ^IEStringVec;
  85.       
  86.       { RECORD types used by IEfaccess: }
  87.       
  88.       SelectionRecord = RECORD
  89.           startingPos:    LONGINT;
  90.         endingPos:        LONGINT;
  91.         displayTop:        LONGINT;
  92.       END;
  93.       
  94.       MarkElement = RECORD
  95.           markStart:        LONGINT;
  96.         markEnd:        LONGINT;
  97.         charCount:        CHAR;
  98.         name:            ARRAY [0..65] OF CHAR;    { NOTE:  This is a C string! }
  99.       END;
  100.  
  101.       {$PUSH}
  102.       {$J+} { EXPORTed unit globals }
  103.  
  104.     VAR
  105.       ArgC: LONGINT;
  106.       ArgV: IEStringVecPtr;
  107.       _EnvP: IEStringVecPtr;
  108.  
  109.       Diagnostic: TEXT;
  110.       {$POP}
  111.  
  112.     FUNCTION IEStandAlone: BOOLEAN;
  113.  
  114.     FUNCTION IEgetenv(envName: STRING; VAR envValue: UNIV IEString): BOOLEAN;
  115.  
  116.     FUNCTION IEfaccess(fName: STRING; opCode: LONGINT; arg: UNIV LONGINT): LONGINT;
  117.  
  118.     PROCEDURE IEopen(VAR fvar: UNIV PASCALFILE; fName: STRING; mode: LONGINT);
  119.  
  120.     FUNCTION IEioctl(VAR fvar: UNIV PASCALFILE; request: LONGINT; arg: UNIV LONGINT): LONGINT;
  121.  
  122.     FUNCTION IElseek(VAR fvar: UNIV PASCALFILE; offset: LONGINT; whence: LONGINT): LONGINT;
  123.  
  124.     PROCEDURE IEatexit(exitProc: UNIV LONGINT); C; EXTERNAL;
  125.  
  126.     PROCEDURE IEexit(status: LONGINT); C; EXTERNAL;
  127.  
  128.     PROCEDURE IE_exit(status: LONGINT); C; EXTERNAL;
  129.  
  130. {$ENDC}    { UsingIntEnv }
  131.  
  132. {$IFC NOT UsingIncludes}
  133.     END.
  134. {$ENDC}
  135.  
  136.